<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      Graphviz-2.42.3
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-2020-04-02">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 2020-04-02
      </h4>
      <h3>
        Chapter&nbsp;11.&nbsp;General Utilities
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="desktop-file-utils.html" title=
          "desktop-file-utils-0.24">Prev</a>
          <p>
            desktop-file-utils-0.24
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="gtk-doc.html" title="GTK-Doc-1.32">Next</a>
          <p>
            GTK-Doc-1.32
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="genutils.html" title=
          "Chapter&nbsp;11.&nbsp;General Utilities">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="graphviz" name="graphviz"></a>Graphviz-2.42.3
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to Graphviz
        </h2>
        <p>
          The <span class="application">Graphviz</span> package contains
          graph visualization software. Graph visualization is a way of
          representing structural information as diagrams of abstract graphs
          and networks. <span class="application">Graphviz</span> has several
          main graph layout programs. It also has web and interactive
          graphical interfaces, auxiliary tools, libraries, and language
          bindings.
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "https://www2.graphviz.org/Packages/stable/portable_source/graphviz-2.42.3.tar.gz">
                https://www2.graphviz.org/Packages/stable/portable_source/graphviz-2.42.3.tar.gz</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: 9f61dc85517957793c6bb24f0611eac1
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 25 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 214 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 1.0 SBU (using parallelism=4)
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Graphviz Dependencies
        </h3>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            <span class="application">Graphviz</span> basic usage does not
            need any libraries out of what is found in the LFS book. Its
            <span class="quote">&ldquo;<span class=
            "quote">core</span>&rdquo;</span> rendering engine allows to
            generate several graphic formats, such as Postscript, SVG, VML,
            .fig, and Tk. Those formats can be converted to almost any other,
            using for example tools from <a class="xref" href=
            "imagemagick.html" title=
            "ImageMagick-7.0.9-23">ImageMagick-7.0.9-23</a>. The dependencies
            below add the ability to generate graph images in bitmap format,
            to display the graph image on screen, to edit a graph by seeing
            directly the result image, or to view large graphs. Since
            <span class="application">Graphviz</span> is a dependency of
            several other packages in this book, it is suggested to first
            build it without any dependencies, then to rebuild it when you
            have built enough packages to suit your needs.
          </p>
        </div>
        <h4>
          Optional, for various bitmap outputs
        </h4>
        <p class="optional">
          <a class="xref" href="../x/pango.html" title=
          "Pango-1.44.7">Pango-1.44.7</a>, with <a class="xref" href=
          "../x/cairo.html" title=
          "Cairo-1.17.2+f93fc72c03e">Cairo-1.17.2+f93fc72c03e</a>, <a class=
          "xref" href="../x/x7lib.html" title="Xorg Libraries">Xorg
          Libraries</a>, <a class="xref" href="fontconfig.html" title=
          "Fontconfig-2.13.1">Fontconfig-2.13.1</a>, and <a class="xref"
          href="libpng.html" title="libpng-1.6.37">libpng-1.6.37</a>, to
          generate images in bitmap SVG, postscript, PNG, and PDF formats, or
          displaying the image on screen
        </p>
        <p class="optional">
          Adding <a class="xref" href="../x/gtk2.html" title=
          "GTK+-2.24.32">GTK+-2.24.32</a> with <a class="xref" href=
          "libjpeg.html" title="libjpeg-turbo-2.0.4">libjpeg-turbo-2.0.4</a>
          allows to add JPEG, BMP, TIF, and ICO formats, and to display the
          image in a GTK+ window
        </p>
        <p class="optional">
          <a class="ulink" href="http://www.libgd.org/">GD Library</a> may be
          used instead of <span class="application">Pango</span>. It adds the
          ability to generate images in GIF, VRML, and GD formats, but
          <span class="application">Pango</span> provides better outputs for
          the other formats, and is needed for displaying images
        </p>
        <p class="optional">
          Other formats may be added with <a class="xref" href="libwebp.html"
          title="libwebp-1.1.0">libwebp-1.1.0</a> (WebP support is considered
          experimental), <a class="ulink" href=
          "http://openil.sourceforge.net/projects.php">DevIL</a>, <a class=
          "ulink" href="http://sourceforge.net/projects/lasi/">libLASi</a>,
          <a class="ulink" href=
          "http://www.freedesktop.org/wiki/Software/glitz">glitz</a>, and
          <a class="ulink" href="http://www.libming.org/">libming</a> (Adobe
          Flash)
        </p>
        <h4>
          Optional, to load graphic images that may be displayed inside the
          nodes of a graph
        </h4>
        <p class="optional">
          <code class="filename">libgs.so</code> from <a class="xref" href=
          "../pst/gs.html" title="ghostscript-9.52">ghostscript-9.52</a>,
          <a class="xref" href="librsvg.html" title=
          "librsvg-2.48.2">librsvg-2.48.2</a>, and <a class="xref" href=
          "poppler.html" title="Poppler-0.87.0">Poppler-0.87.0</a>
        </p>
        <h4>
          Optional, to build more tools
        </h4>
        <p class="optional">
          <a class="xref" href="../x/freeglut.html" title=
          "Freeglut-3.2.1">Freeglut-3.2.1</a> (with <a class="xref" href=
          "../x/libglade.html" title="libglade-2.6.4">libglade-2.6.4</a>,
          <a class="ulink" href=
          "https://sourceforge.net/projects/gtkglext/">GtkGLExt</a>, and
          <a class="ulink" href="http://gts.sourceforge.net/">libGTS</a>, for
          building the <span class="command"><strong>smyrna</strong></span>
          large graph viewer, which is considered experimental), <a class=
          "xref" href="../x/qt5.html" title="Qt-5.14.1">Qt-5.14.1</a>, for
          building the <span class="command"><strong>gvedit</strong></span>
          graph editor. Another graph editor, <span class=
          "command"><strong>dotty</strong></span> needs only <a class="xref"
          href="../x/x7lib.html" title="Xorg Libraries">Xorg Libraries</a>
        </p>
        <h4>
          Optional (To Build Language Bindings)
        </h4>
        <p class="optional">
          <a class="xref" href="swig.html" title="SWIG-4.0.1">SWIG-4.0.1</a>
          (<span class="application">SWIG</span> must be installed or no
          bindings will be built), <a class="xref" href="gcc.html" title=
          "GCC-9.3.0">GCC-9.3.0</a> (for the go language), <a class="xref"
          href="guile.html" title="Guile-3.0.2">Guile-3.0.2</a>, <a class=
          "xref" href="openjdk.html" title=
          "OpenJDK-12.0.2">OpenJDK-12.0.2</a>, <a class="xref" href=
          "lua.html" title="Lua-5.3.5">Lua-5.3.5</a>, <a class="xref" href=
          "php.html" title="PHP-7.4.4">PHP-7.4.4</a>, <a class="xref" href=
          "python2.html" title="Python-2.7.17">Python-2.7.17</a>, <a class=
          "xref" href="ruby.html" title="Ruby-2.7.1">Ruby-2.7.1</a>,
          <a class="xref" href="tcl.html" title="Tcl-8.6.10">Tcl-8.6.10</a>,
          <a class="xref" href="tk.html" title="Tk-8.6.10">Tk-8.6.10</a>,
          <a class="ulink" href="http://iolanguage.org/">Io</a>, <a class=
          "ulink" href="http://www.mono-project.com/Main_Page">Mono</a>,
          <a class="ulink" href="http://ocaml.org/">OCaml</a>, and <a class=
          "ulink" href="http://www.r-project.org/">R</a>
        </p>
        <h4>
          Optional (building tools)
        </h4>
        <p class="optional">
          <a class="ulink" href=
          "https://github.com/Snaipe/Criterion">Criterion</a> (framework for
          tests), <a class="ulink" href=
          "http://linux.softpedia.com/get/Programming/Debuggers/Electric-Fence-3305.shtml/">
          Electric Fence</a>,
        </p>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/graphviz">http://wiki.linuxfromscratch.org/blfs/wiki/graphviz</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of Graphviz
        </h2>
        <p>
          Install <span class="application">Graphviz</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class="command">sed -i '/LIBPOSTFIX="64"/s/64//' configure.ac &amp;&amp;

autoreconf                &amp;&amp;
./configure --prefix=/usr &amp;&amp;
make</kbd>
</pre>
        <p>
          This package does not come with a test suite that provides
          meaningful results.
        </p>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install</kbd>
</pre>
        <p>
          If desired, create a symbolic link in the system documents
          directory to the documentation installed in <code class=
          "filename">/usr/share/graphviz/doc</code> using the following
          command as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class=
"command">ln -v -s /usr/share/graphviz/doc /usr/share/doc/graphviz-2.42.3</kbd>
</pre>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <span class="command"><strong>sed ... configure.ac</strong></span>:
          This command is needed to avoid installing files in /usr/lib64.
        </p>
        <p>
          <code class="option">--with-javaincludedir="$JAVA_HOME/include
          -I$JAVA_HOME/include/linux"</code>: If you have built <a class=
          "xref" href="openjdk.html" title=
          "OpenJDK-12.0.2">OpenJDK-12.0.2</a> in /opt, and you want to build
          the JAVA bindings, it is necessary to specify the location of the
          JAVA header files to configure. The configure switch is designed
          for only one directory, but two directories need to be included.
          This is possible nevertheless by using the -I switch inside the
          variable.
        </p>
        <p>
          <code class="option">--with-webp</code>: Even if <a class="xref"
          href="libwebp.html" title="libwebp-1.1.0">libwebp-1.1.0</a> is
          installed, it is not included in the build without this option.
        </p>
        <p>
          <code class="option">--with-smyrna</code>: Even if the needed
          dependencies are installed, the interactive graph viewer
          <span class="command"><strong>smyrna</strong></span> is not built
          without this option.
        </p>
      </div>
      <div class="configuration" lang="en" xml:lang="en">
        <h2 class="sect2">
          Configuring Graphviz
        </h2>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3">
            <a id="graphviz-config" name="graphviz-config"></a>
          </h3>
          <h4 class="title">
            <a id="graphviz-config" name="graphviz-config"></a>Config Files
          </h4>
          <p>
            <code class="filename">/usr/lib/graphviz/config</code>
          </p>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <h3 class="sect3"></h3>
          <h4 class="title">
            <a id="idm140006454868272" name=
            "idm140006454868272"></a>Configuration Information
          </h4>
          <p>
            There are no specific configuration requirements for <span class=
            "application">Graphviz</span>. You may consider installing the
            additional plugins and tools available from the download page at
            <a class="ulink" href=
            "http://www.graphviz.org/Download_source.php">http://www.graphviz.org/Download_source.php</a>
            for additional capabilities. If additional plugins are installed,
            you can run <span class="command"><strong>dot -c</strong></span>
            (as the <code class="systemitem">root</code> user) to update the
            <code class="filename">config</code> file in <code class=
            "filename">/usr/lib/graphviz</code>.
          </p>
        </div>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">acyclic, bcomps, ccomps, circo, cluster,
              diffimg, dijkstra, dot, dot2gxl, dot_builtins, dotty,
              edgepaint, fdp, gc, gml2gv, graphml2gv, gv2gml, gv2gxl,
              gvcolor, gvedit, gvgen, gvmap, gvmap.sh, gvpack, gvpr, gxl2dot,
              gxl2gv, lefty, lneato, mm2gv, neato, nop, osage, patchwork,
              prune, sccmap, sfdp, tred, twopi, unflatten, and vimdot</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">libcdt.so, libcgraph.so, libgvc.so,
              libgvpr.so, libpathplan.so, libxdot.so, and several plugins in
              /usr/lib/graphviz. There are also several in subdirectories of
              /usr/lib/{lua,perl5,php,python2.7,tcl8.6}. Unfortunately, some
              libraries are duplicated.</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class="segbody">/usr/include/graphviz, /usr/lib/graphviz,
              /usr/lib/tcl8.6/graphviz, /usr/share/doc/graphviz-2.42.3, and
              /usr/share/graphviz</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="acyclic" name="acyclic"></a><span class=
                    "term"><span class=
                    "command"><strong>acyclic</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a filter that takes a directed graph as input and
                    outputs a copy of the graph with sufficient edges
                    reversed to make the graph acyclic.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="bcomps" name="bcomps"></a><span class=
                    "term"><span class=
                    "command"><strong>bcomps</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    decomposes graphs into their biconnected components,
                    printing the components to standard output.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="ccomps" name="ccomps"></a><span class=
                    "term"><span class=
                    "command"><strong>ccomps</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    decomposes graphs into their connected components,
                    printing the components to standard output.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="circo" name="circo"></a><span class=
                    "term"><span class=
                    "command"><strong>circo</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws graphs using a circular layout.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="cluster" name="cluster"></a><span class=
                    "term"><span class=
                    "command"><strong>cluster</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    takes as input a graph in DOT format, finds node clusters
                    and augments the graph with this information.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="diffimg" name="diffimg"></a><span class=
                    "term"><span class=
                    "command"><strong>diffimg</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    (needs <a class="ulink" href="http://www.libgd.org/">GD
                    Library</a>) generates an image where each pixel is the
                    difference between the corresponding pixel in each of the
                    two source images.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="dijkstra" name="dijkstra"></a><span class=
                    "term"><span class=
                    "command"><strong>dijkstra</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    reads a stream of graphs and for each computes the
                    distance of every node from sourcenode.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="dot" name="dot"></a><span class=
                    "term"><span class="command"><strong>dot</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws directed graphs. It works well on DAGs and other
                    graphs that can be drawn as hierarchies. It reads
                    attributed graph files and writes drawings. By default,
                    the output format dot is the input file with layout
                    coordinates appended.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="dot2gxl" name="dot2gxl"></a><span class=
                    "term"><span class=
                    "command"><strong>dot2gxl</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts between graphs represented in GXL and in the DOT
                    language. Unless a conversion type is specified using a
                    flag, <span class=
                    "command"><strong>gxl2dot</strong></span> will deduce the
                    type of conversion from the suffix of the input file, a
                    <code class="filename">.dot</code> suffix causing a
                    conversion from DOT to GXL, and a <code class=
                    "filename">.gxl</code> suffix causing a conversion from
                    GXL to DOT.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="dotty" name="dotty"></a><span class=
                    "term"><span class=
                    "command"><strong>dotty</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a graph editor for the X Window System. It may be run
                    as a standalone editor, or as a front end for
                    applications that use graphs. It can control multiple
                    windows viewing different graphs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="edgepaint" name="edgepaint"></a><span class=
                    "term"><span class=
                    "command"><strong>edgepaint</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    edge coloring to disambiguate crossing edges.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="fdp" name="fdp"></a><span class=
                    "term"><span class="command"><strong>fdp</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws undirected graphs using a <span class=
                    "quote">&ldquo;<span class=
                    "quote">spring</span>&rdquo;</span> model. It relies on a
                    force-directed approach in the spirit of Fruchterman and
                    Reingold.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gc-graphviz" name="gc-graphviz"></a><span class=
                    "term"><span class=
                    "command"><strong>gc</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a graph analogue to <span class=
                    "command"><strong>wc</strong></span> in that it prints to
                    standard output the number of nodes, edges, connected
                    components or clusters contained in the input files. It
                    also prints a total count for all graphs if more than one
                    graph is given.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gml2gv" name="gml2gv"></a><span class=
                    "term"><span class=
                    "command"><strong>gml2gv</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts a graph specified in the GML format to a graph
                    in the GV (formerly DOT) format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="graphml2gv" name="graphml2gv"></a><span class=
                    "term"><span class=
                    "command"><strong>graphml2gv</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts a graph specified in the GRAPHML format to a
                    graph in the GV (formerly DOT) format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gv2gml" name="gv2gml"></a><span class=
                    "term"><span class=
                    "command"><strong>gv2gml</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts a graph specified in the GV format to a graph in
                    the GML format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gv2gxl" name="gv2gxl"></a><span class=
                    "term"><span class=
                    "command"><strong>gv2gxl</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts a graph specified in the GV format to a graph in
                    the GXL format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvcolor" name="gvcolor"></a><span class=
                    "term"><span class=
                    "command"><strong>gvcolor</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a filter that sets node colors from initial seed
                    values. Colors flow along edges from tail to head, and
                    are averaged (as HSB vectors) at nodes.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvedit" name="gvedit"></a><span class=
                    "term"><span class=
                    "command"><strong>gvedit</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    provides a simple graph editor and viewer. It allows many
                    graphs to be viewed at the same time. The text of each
                    graph is displayed in its own text window.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvgen" name="gvgen"></a><span class=
                    "term"><span class=
                    "command"><strong>gvgen</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    generates a variety of simple, regularly-structured
                    abstract graphs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvmap" name="gvmap"></a><span class=
                    "term"><span class=
                    "command"><strong>gvmap</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    takes as input a graph in DOT format, finds node clusters
                    and produces a rendering of the graph as a
                    geographic-style map, with clusters highlighted, in xdot
                    format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvmap.sh" name="gvmap.sh"></a><span class=
                    "term"><span class=
                    "command"><strong>gvmap.sh</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a pipeline for running gvmap.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvpack" name="gvpack"></a><span class=
                    "term"><span class=
                    "command"><strong>gvpack</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    reads in a stream of graphs, combines the graphs into a
                    single layout, and produces a single graph serving as the
                    union of the input graphs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gvpr" name="gvpr"></a><span class=
                    "term"><span class=
                    "command"><strong>gvpr</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a graph stream editor inspired by <span class=
                    "command"><strong>awk</strong></span>. It copies input
                    graphs to its output, possibly transforming their
                    structure and attributes, creating new graphs, or
                    printing arbitrary information.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gxl2dot" name="gxl2dot"></a><span class=
                    "term"><span class=
                    "command"><strong>gxl2dot</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts between graphs represented in GXL and in the DOT
                    language. Unless a conversion type is specified using a
                    flag, <span class=
                    "command"><strong>gxl2dot</strong></span> will deduce the
                    type of conversion from the suffix of the input file, a
                    <code class="filename">.dot</code> suffix causing a
                    conversion from DOT to GXL, and a <code class=
                    "filename">.gxl</code> suffix causing a conversion from
                    GXL to DOT.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gxl2gv" name="gxl2gv"></a><span class=
                    "term"><span class=
                    "command"><strong>gxl2gv</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts between graphs represented in GXL and in the GV
                    language.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="lefty" name="lefty"></a><span class=
                    "term"><span class=
                    "command"><strong>lefty</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a two-view graphics editor for technical pictures.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="lneato" name="lneato"></a><span class=
                    "term"><span class=
                    "command"><strong>lneato</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a graph editor for the X Window System. It may be run
                    as a standalone editor, or as a front end for
                    applications that use graphs. It can control multiple
                    windows viewing different graphs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="mm2gv" name="mm2gv"></a><span class=
                    "term"><span class=
                    "command"><strong>mm2gv</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    converts a sparse matrix of the Matrix Market format to a
                    graph in the GV (formerly DOT) format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="neato" name="neato"></a><span class=
                    "term"><span class=
                    "command"><strong>neato</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws undirected graphs using <span class=
                    "quote">&ldquo;<span class=
                    "quote">spring</span>&rdquo;</span> models. Input files
                    must be formatted in the <span class=
                    "command"><strong>dot</strong></span> attributed graph
                    language. By default, the output of <span class=
                    "command"><strong>neato</strong></span> is the input
                    graph with layout coordinates appended.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="nop" name="nop"></a><span class=
                    "term"><span class="command"><strong>nop</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    reads a stream of graphs and prints each in
                    pretty-printed (canonical) format on stdout. If no files
                    are given, it reads from stdin.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="osage" name="osage"></a><span class=
                    "term"><span class=
                    "command"><strong>osage</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws clustered graphs. As input, it takes any graph in
                    the DOT format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="patchwork" name="patchwork"></a><span class=
                    "term"><span class=
                    "command"><strong>patchwork</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws clustered graphs using a squarified treemap layout.
                    As input, it takes any graph in the DOT format.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="prune" name="prune"></a><span class=
                    "term"><span class=
                    "command"><strong>prune</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    reads directed graphs in the same format used by
                    <span class="command"><strong>dot</strong></span> and
                    removes subgraphs rooted at nodes specified on the
                    command line via options.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="sccmap" name="sccmap"></a><span class=
                    "term"><span class=
                    "command"><strong>sccmap</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    decomposes digraphs into strongly connected components
                    and an auxiliary map of the relationship between
                    components. In this map, each component is collapsed into
                    a node. The resulting graphs are printed to stdout.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="sfdp" name="sfdp"></a><span class=
                    "term"><span class=
                    "command"><strong>sfdp</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws undirected graphs using the <span class=
                    "quote">&ldquo;<span class=
                    "quote">spring</span>&rdquo;</span> model, but it uses a
                    multi-scale approach to produce layouts of large graphs
                    in a reasonably short time.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="tred" name="tred"></a><span class=
                    "term"><span class=
                    "command"><strong>tred</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    computes the transitive reduction of directed graphs, and
                    prints the resulting graphs to standard output. This
                    removes edges implied by transitivity. Nodes and
                    subgraphs are not otherwise affected.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="twopi" name="twopi"></a><span class=
                    "term"><span class=
                    "command"><strong>twopi</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    draws graphs using a radial layout. Basically, one node
                    is chosen as the center and put at the origin. The
                    remaining nodes are placed on a sequence of concentric
                    circles centered about the origin, each a fixed radial
                    distance from the previous circle.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="unflatten" name="unflatten"></a><span class=
                    "term"><span class=
                    "command"><strong>unflatten</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a preprocessor to <span class=
                    "command"><strong>dot</strong></span> that is used to
                    improve the aspect ratio of graphs having many leaves or
                    disconnected nodes. The usual layout for such a graph is
                    generally very wide or tall.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="vimdot" name="vimdot"></a><span class=
                    "term"><span class=
                    "command"><strong>vimdot</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a simple script which launches the <span class=
                    "command"><strong>gvim</strong></span> or <span class=
                    "command"><strong>vim</strong></span> editor along with a
                    GUI window showing the <span class=
                    "command"><strong>dot</strong></span> output of the
                    edited file.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libcdt" name="libcdt"></a><span class=
                    "term"><code class="filename">libcdt.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    manages run-time dictionaries using standard container
                    data types: unordered set/multiset, ordered set/multiset,
                    list, stack, and queue.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libcgraph" name="libcgraph"></a><span class=
                    "term"><code class="filename">libcgraph.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    supports graph programming by maintaining graphs in
                    memory and reading and writing graph files. Graphs are
                    composed of nodes, edges, and nested subgraphs.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libgvc" name="libgvc"></a><span class=
                    "term"><code class="filename">libgvc.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    provides a context for applications wishing to manipulate
                    and render graphs. It provides a command line parsing,
                    common rendering code, and a plugin mechanism for
                    renderers.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libpathplan" name="libpathplan"></a><span class=
                    "term"><code class=
                    "filename">libpathplan.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    contains functions to find the shortest path between two
                    points in a simple polygon.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libxdot" name="libxdot"></a><span class=
                    "term"><code class="filename">libxdot.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    provides support for parsing and deparsing graphical
                    operations specificed by the xdot language.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-03-03 13:49:10 -0600
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="desktop-file-utils.html" title=
          "desktop-file-utils-0.24">Prev</a>
          <p>
            desktop-file-utils-0.24
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="gtk-doc.html" title="GTK-Doc-1.32">Next</a>
          <p>
            GTK-Doc-1.32
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="genutils.html" title=
          "Chapter&nbsp;11.&nbsp;General Utilities">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
